The invention relates to an information processing system including a memory device and a memory control apparatus having a plurality of cache memories and, more particularly, to a memory control apparatus of an information processing system in which a memory device uses a Redundant Array of Inexpensive Disks (RAID) technique.
In a conventional memory control apparatus having a cache memory, in response to a write instruction from a central processing unit, completion of a writing process is reported to the central processing unit when write data has been stored into the cache memory in the memory control apparatus. The storage of the write data into a disk device is executed by the memory control apparatus asynchronously with the write instruction from the central processing unit. Such a control is called a write-after control. In the write-after control, when the end of writing process is reported to the central processing unit, since data is not transferred to the disk device, a high-speed response to the central processing unit can be performed.
In the data stored in the cache memory, the data before it is transferred to the disk device is called dirty data, and the data which coincides with the data in the disk device is called clean data. In an information processing apparatus for performing the write-after control, dirty data is data which exists only on the cache memory in the memory control apparatus. Therefore, the dirty data cannot be deleted until the transfer to the disk device is finished.
Data transfer speed between the cache memory and the disk device is slower than data transfer speed between the central processing unit and the cache memory. There is consequently, a case where the cache memory is filled with the dirty data at the time of the write-after control. Therefore, a memory control apparatus disclosed in JP-A-4-264940 monitors an amount of dirty data in the cache, an inflow amount of write data to the cache memory of each memory device, and an outflow amount of dirty data due to the write-after process. When the dirty data amount in the cache reaches a certain threshold value (permission amount), a limitation of the allocation of the cache memory to the write data and a data writing preferential execution to the memory device are executed for the memory device in which (the inflow amount)&gt;(the outflow amount). Due to the above control, a deterioration in performance of the whole system caused by the cache memory entering a full state is avoided and the distribution of the allocation of the cache memory for every memory device can be properly performed.
In the write-after process, since the cache memory is volatile, there is a possibility that the dirty data is deleted due to a fault of a power source of a control apparatus or the like, a fault of a hardware of the cache memory, or the like. Therefore, in "Evolution of the DASD storage control" disclosed in IBM SYSTEMS JOURNAL, Vol. 28, No. 2, 1989, a memory control apparatus has therein a cache memory and a non-volatile storage (NVS) of a small capacity for backup of dirty data, and the dirty data is duplexed and held in the cache memory and non-volatile storage (NVS), thereby preventing deletion of the dirty data.
Further, a memory control apparatus having a plurality of cache memories which is backed up by a battery is disclosed in JP-A-5-189314. The memory control apparatus has a cache memory whose power source is depleted by a battery backup. The cache memory is divided into N portions and data read out from a memory device by a command from an upper apparatus is stored into an arbitrary one of the N divided portions of the cache memory. Data which is written into the cache memory by an instruction from the upper apparatus is stored into two arbitrary ones of the N divided portions of the cache memory. Thus, performance of the data at the time of a fault is improved and a deterioration of the performance can be prevented.
When using the RAID technique for the disk device as a memory device, the memory control apparatus needs to form parity data to guarantee data at the time of the write-after process. Therefore, both the dirty data (write data) and the clean data (data which is updated by the write data) need to be held on the cache memory.
In the memory control apparatus disclosed in JP-A-5-189314 in which data is duplexed and stored into a plurality of cache memories, the amount of data which cannot be deleted until the data transfer to the disk device is completed is largely divided between the depleted cache memories depending on an allocating method of the cache memory for the clean data. When an amount of dirty data (including the clean data to form parity data) in one cache memory reaches a cache memory capacity or a preset dirty data threshold value (permission amount), even in the case where there is a usable area in the other cache memory, the dirty data cannot be duplexed. Thus, a response by the write-after process cannot be performed and the performance deteriorates.
FIG. 8 shows a case where a cache surface (cache for storing clean data and dirty data as updated data of the clean data) and an NVS surface (cache to store the dirty data) of each of a cache A 80 and a cache B 81 of a memory control apparatus are fixedly used.
When using one of the two cache memories as a cache surface and the other as an NVS surface, as shown in FIG. 8(a), an amount of dirty data in the cache A 80 that is used as a cache surface is larger than an amount of dirty data in the cache B 81 that is used as an NVS surface. Thus, as shown in FIG. 8(b), when the cache A 80 which is used as a cache surface is filled with the dirty data, in spite of the fact that a new usable area c still remains in the cache B 81, the dirty data cannot be duplexed. Therefore, the write-after process cannot be performed.